/**********************************************************************************
 *  (C) Copyright 2009 Molisys Solutions Co., Ltd. , All rights reserved          *
 *                                                                                *
 *  This source code and any compilation or derivative thereof is the sole        *
 *  property of Molisys Solutions Co., Ltd. and is provided pursuant to a         *
 *  Software License Agreement.  This code is the proprietary information         *
 *  of Molisys Solutions Co., Ltd and is confidential in nature.  Its use and     *
 *  dissemination by any party other than Molisys Solutions Co., Ltd is           *
 *  strictly limited by the confidential information provisions of the            *
 *  Agreement referenced above.                                                   *
 **********************************************************************************/

/**
 * @mainpage    HOANGMAI CCID APIs document
 *
 * @section     intro_sec       Introduction
 *
 * This document describes APIs of Hoang Mai CCID appliction
 *
 * @section     license_sec     License
 *
 * (C) Copyright 2009 Mo Li System Solutions Co., Ltd. , All rights reserved
 *
 * This source code and any compilation or derivative thereof is the sole
 * property of Mo Li System Solutions Co., Ltd. and is provided pursuant to a
 * Software License Agreement.  This code is the proprietary information
 * of Mo Li System Solutions Co., Ltd and is confidential in nature.  Its use and
 * dissemination by any party other than Mo Li System Solutions Co., Ltd is
 * strictly limited by the confidential information provisions of the
 * Agreement referenced above.
 *
 * @section     contactInfo_sec Contact Information
 *
 * sales@molisys.com
 */

/**
 * @defgroup mlsAppConfig Application Configuration
 * @brief Application Configuration
 *
 * Support Developer to Enable/Disable features as a compile switch. All project wide
 * definition is defined here in this file.
 * @{
 */
#ifndef MLSAPPCONFIG_H_
#define MLSAPPCONFIG_H_

#include "mlsInclude.h"

#define FIRMWARE_DATE	__DATE__
#define FIRMWARE_TIME	__TIME__

#define	FIRMWARE_VERSION_MAJOR	0
#define FIRMWARE_VERSION_MINOR	01
#define STRINGIZE2(s) #s
#define STRINGIZE(s) STRINGIZE2(s)

#define FIRMWARE_VER	"V" STRINGIZE(FIRMWARE_VERSION_MAJOR) "." STRINGIZE(FIRMWARE_VERSION_MINOR)
#define FIRMWARE_VER_FULL	FIRMWARE_VER" "FIRMWARE_DATE" "FIRMWARE_TIME
/**
 * Application mode selection, enable just 1 item of the group
 * */
//Used for keyboard wedge
#define MLS_APPSEL_KBW 0

/// Enable this for CCID application
#define MLS_APPSEL_CCID 0

/// Enable this for CCID application Dual interface: contactless and 1 contact slot
#define MLS_APPSEL_CCID_DUALINTERFACES 0

/// Enable this for RC663 test application
#define MLS_APPSEL_NFC_TEST 1

// Enable this for EEPROM read/write test
#define MLS_APPSEL_EEPROM_TEST 0

//Enable this for 3 Colors LED test
#define MLS_APPSEL_TRICLED_TEST 0

//Enable contact card test
#define MLS_APPSEL_CONTACT_TEST	0

//Enable test Osal timer
#define MLS_APPSEL_OSAL_TIMER_TEST 0

#if ((\
MLS_APPSEL_KBW +\
MLS_APPSEL_CCID + \
MLS_APPSEL_CCID_DUALINTERFACES +\
MLS_APPSEL_NFC_TEST +\
MLS_APPSEL_EEPROM_TEST +\
MLS_APPSEL_TRICLED_TEST  +\
MLS_APPSEL_OSAL_TIMER_TEST  +\
MLS_APPSEL_CONTACT_TEST \
) != 1 )
#error "Only one item is allowed to be defined in AppSel group"

#endif


/**Enable this to enable config default data in code*/
#define MLS_FUNCSEL_CONFIGDEFAULT_DATA 1

/* Enable this for led buzzer functionality*/
#define MLS_FUNCSELECT_LEDBUZ 0
/**
 * HW selection, enable just 1 item of the group
 * */
#define MLS_HWSEL_KONAMIBOARD 1

#define MLS_HWSEL_EMVNFCBOARD 0

/// Enable this for VN Development board
#define MLS_HWSEL_VNDEVBOARD 0

/// Enable this for CASIO v1 HW
#define MLS_HWSEL_CASIOV1 0

/// Enable this for CASIO v2 HW
#define MLS_HWSEL_CASIOV2 0

/// Enable this for UCR Board
#define MLS_HWSEL_UCR	0

///check
#if (\
(MLS_HWSEL_EMVNFCBOARD +\
MLS_HWSEL_KONAMIBOARD +\
MLS_HWSEL_VNDEVBOARD + \
MLS_HWSEL_CASIOV1 + \
MLS_HWSEL_CASIOV2 +\
MLS_HWSEL_UCR \
) != 1 )
#error "Only one item is allowed to be defined in HWSel group"
#endif

/*
 * Firmware upgrade triggered by RF
 * */
#define MLS_FUNCSEL_FWU_BY_RF 1

/*
 * SPI/I2C communicate with Rc663
 * If  MLS_FUNCSEL_SPI_NFC == 1 => SPI
 * else => I2C
 */
#define MLS_FUNCSEL_COMM_I2C_NFC	(0)

/**
 * Using File store data
 * if MLS_FUNCSEL_VITUAL_EEPROM => using
 * otherwise, return in EEPROM
 */
#define MLS_FUNCSEL_VIRTUAL_EEPROM 		(1)


/**
 * MLS source code compile configuration
 *
 * MLS_RELEASE: Release build, it is usually enabled in final release
 *
 * */
#define MLS_RELEASE

#define MLS_SELF_MANAGE_STACK_ARR_SIZE          0x00
extern UInt32 gSelfManageStack[];

#endif /* MLSAPPCONFIG_H_ */

/**
 * @}
 * */
